一道很不错的树形dp。
令 为以为根的子树。
,表示为服务器,那么的儿子和父亲既可以是服务器,也可以不是。
An Ac a day, keeps the doctor away!
这道题的状态挺难设计的。。。
令 s 为石子的总数,那么操作次数最多为 s+(n−1)
如果石子数量全不为一,那么先手必胜的条件为 s+(n−1) 为奇数,因为他一定可以保证操作 s+(n−1) 次。
这道题的状态挺难设计的。。。
令 s 为石子的总数,那么操作次数最多为 s+(n−1)
如果石子数量全不为一,那么先手必胜的条件为 s+(n−1) 为奇数,因为他一定可以保证操作 s+(n−1) 次。
令 di 为工厂 i 到工厂 n (山底)的距离, dpi 为在第 i 个工厂建仓库的最小花费。
因为只能向下运,所以第 n 个工厂必须建仓库存放它自己的产品,答案便为 dpn
边界条件 dp0 为不建仓库的花费。
dp[t][i]=max{dp[t−1][j]+sj(si−sj)}
可以看出,选出区间的端点大小必须相同,不然可以将一端分在其他区间里,答案不会更劣。
令 dpi 表示前 i 个贝壳能得到的最大柠檬数, posi 表示第 i 个贝壳是第几个这种颜色的贝壳。
那么有转移:
dp[i][j]=min(dp[i−1][k]+(Sumj−Sumk)2) (0≤k<j)